home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / misc / emu / ATUtilities.lha / ATUtilities / BASIC / PREFS.BAS < prev    next >
BASIC Source File  |  2000-09-26  |  9KB  |  447 lines

  1. $STRING 1
  2. $INCLUDE "GEMDOS.INC"
  3.  
  4. dim red(15),green(15),blue(15)
  5. dim ored(15),ogreen(15),oblue(15)
  6.  
  7. mode=0
  8. if command$="farben "+GemDOS$ then
  9.  mode=1
  10. elseif command$="maus "+GemDOS$ then
  11.  mode=2
  12. elseif command$="verzeichnisse "+GemDOS$ then
  13.  mode=3
  14. elseif command$="signalton "+GemDOS$ then
  15.  mode=4
  16. end if
  17.  
  18. if mode=0 then
  19.  mode=1
  20.  call InitScreen(35,"Einstellungen")
  21. else
  22.  select case mode
  23.   case 1
  24.    t$="Farben „ndern"
  25.   case 2
  26.    t$="Mausparameter „ndern"
  27.   case 3
  28.    t$="Verzeichnisse einstellen"
  29.   case 4
  30.    t$="Signalton"
  31.  end select
  32.  call PrepareScreen(35,t$)
  33. end if
  34.  
  35. call BoolGadget(5,26,25,1,"Zurck zu AControl",1)
  36. call MenuGadget(6,"Datei",10000)
  37. Feld1$(0)="Einstellungen laden"
  38. Feld1$(1)="Einstellungen sichern"
  39. Feld1$(2)="-"
  40. Feld1$(3)="Žnderungen zurcknehmen"
  41. Feld1$(4)="-"
  42. Feld1$(5)="Information"
  43. Feld1$(6)="-"
  44. Feld1$(7)="Zurck zu AControl"
  45.  
  46. if mode=1 then
  47.  for i=0 to 7
  48.   call DrawPBorder(5,6+(i*2),20,1,"")
  49.   call MinGadget(5,6+(i*2),20,1,100+i)
  50.   line (5*8-1,(6+(i*2))*16-3)-(25*8-3,(7+(i*2))*16-1),i,bf
  51.  next
  52.  for i=0 to 7
  53.   call DrawPBorder(55,6+(i*2),20,1,"")
  54.   call MinGadget(55,6+(i*2),20,1,108+i)
  55.   line (55*8-1,(6+(i*2))*16-3)-(75*8-3,(7+(i*2))*16-1),8+i,bf
  56.  next
  57.  call DrawNBorder(5,6,20,1,"")
  58.  col=0
  59.  call BoolGadget(28,6,5,1,"-",200)
  60.  call BoolGadget(28,8,5,1,"<",2000)
  61.  call BoolGadget(47,6,5,1,"+",201)
  62.  call BoolGadget(47,8,5,1,">",2001)
  63.  
  64.  call BoolGadget(28,12,5,1,"-",202)
  65.  call BoolGadget(28,14,5,1,"<",2002)
  66.  call BoolGadget(47,12,5,1,"+",203)
  67.  call BoolGadget(47,14,5,1,">",2003)
  68.  
  69.  call BoolGadget(28,18,5,1,"-",204)
  70.  call BoolGadget(28,20,5,1,"<",2004)
  71.  call BoolGadget(47,18,5,1,"+",205)
  72.  call BoolGadget(47,20,5,1,">",2005)
  73.  
  74.  call BoolGadget(28,22,24,1,"Reset",206)
  75.  
  76.  for i=0 to 15
  77.   reg %ax,&H10*256+&H15
  78.   reg %bx,i
  79.   call interrupt &H10
  80.   green(i)=int(reg(%cx) / 256)
  81.   blue(i)=int(reg(%cx) mod 256)
  82.   red(i)=int(reg(%dx) / 256)
  83.   ogreen(i)=green(i)
  84.   oblue(i)=blue(i)
  85.   ored(i)=red(i)
  86.  next
  87.  
  88.  call FarbenAusgabe
  89.  
  90. elseif mode=2 then
  91.  locate 12,5
  92.  print "Horizontale Sensitivit„t"
  93.  locate 14,5
  94.  print "Vertikale Sensitivit„t"
  95.  locate 18,5
  96.  print "Beschleunigung"
  97.  call BoolGadget(30,11,5,1,"-",11)
  98.  call BoolGadget(36,11,5,1,"+",12)
  99.  call BoolGadget(30,13,5,1,"-",13)
  100.  call BoolGadget(36,13,5,1,"+",14)
  101.  call BoolGadget(30,17,5,1,"-",15)
  102.  call BoolGadget(36,17,5,1,"+",16)
  103.  call BoolGadget(30,20,11,1,"Reset",17)
  104.  
  105.  reg %AX,&H1B
  106.  call interrupt &H33
  107.  mouse.h=REG(%BX)
  108.  mouse.v=REG(%CX)
  109.  mouse.s=REG(%DX)
  110.  call MausAusgabe
  111. elseif mode=3 then
  112.  call StrGadget(10,10,40,1,"Test 1234567890 abcdefghijklmn",37,1000)
  113. elseif mode=4 then
  114.  Feld1$(3)=Feld1$(3)+chr$(0)
  115.  color 15
  116.  locate 13,12
  117.  print "Signalton"
  118.  signalton=1
  119.  call STLaden
  120.  call ToggleGadget(30,12,20,1,"Einschalten",signalton,4700)
  121. end if
  122.  
  123. call MouseOn
  124.  
  125. ende=0
  126. while ende=0
  127.  call MouseDown
  128.  if mouse.button<>0 then call MouseHandler
  129.  
  130.  select case gad.num
  131.   case 1
  132.    ende=1
  133.   case 33333
  134.    ende=1
  135.   case 10000
  136.    call MenuHandler(6,250,Feld1$(),8)
  137.    select case menu.num
  138.     case 0
  139.      select case mode
  140.       case 1
  141.        call FarbenLaden
  142.       case 2
  143.        call MausLaden
  144.       case 4
  145.        call STLaden
  146.        call RemoveGadget(4700)
  147.        call ToggleGadget(30,12,20,1,"Einschalten",signalton,4700)
  148.      end select
  149.     case 1
  150.      select case mode
  151.       case 1
  152.        call FarbenSichern
  153.       case 2
  154.        call MausSichern
  155.       case 4
  156.        call STSichern
  157.      end select
  158.     case 3
  159.      select case mode
  160.       case 1
  161.        call FarbenReset
  162.       case 2
  163.        call MausReset
  164.      end select
  165.     case 5
  166.      call InformationBox("Einstellungen - Version 1.0","Copyright (C) 1994 by","Thomas Dreibholz","All rights reserved.")
  167.     case 7
  168.      ende=1
  169.    end select
  170.   case 11
  171.    if mouse.h>20 then
  172.     mouse.h=mouse.h-5
  173.     call Set
  174.    end if
  175.   case 12
  176.    mouse.h=mouse.h+5
  177.    call Set
  178.   case 13
  179.    if mouse.v>20 then
  180.     mouse.v=mouse.v-5
  181.     call Set
  182.    end if
  183.   case 14
  184.    mouse.v=mouse.v+5
  185.    call Set
  186.   case 15
  187.    if mouse.s>=25 then
  188.     mouse.s=mouse.s-25
  189.     call Set
  190.    else
  191.     mouse.s=0
  192.     call Set
  193.    end if
  194.   case 16
  195.    mouse.s=mouse.s+25
  196.    call Set
  197.   case 17
  198.    call MausReset
  199.   case 200
  200.    if red(col)>0 then
  201.     red(col)=red(col)-1
  202.     call Farbe
  203.    end if
  204.   case 201
  205.    if red(col)<63 then
  206.     red(col)=red(col)+1
  207.     call Farbe
  208.    end if
  209.   case 2000
  210.    if red(col)>16 then
  211.     red(col)=red(col)-16
  212.    else
  213.     red(col)=0
  214.    end if
  215.    call Farbe
  216.   case 2001
  217.    if red(col)<47 then
  218.     red(col)=red(col)+16
  219.    else
  220.     red(col)=63
  221.    end if
  222.    call Farbe
  223.   case 2002
  224.    if green(col)>16 then
  225.     green(col)=green(col)-16
  226.    else
  227.     green(col)=0
  228.    end if
  229.    call Farbe
  230.   case 2003
  231.    if green(col)<47 then
  232.     green(col)=green(col)+16
  233.    else
  234.     green(col)=63
  235.    end if
  236.    call Farbe
  237.   case 2004
  238.    if blue(col)>16 then
  239.     blue(col)=blue(col)-16
  240.    else
  241.     blue(col)=0
  242.    end if
  243.    call Farbe
  244.   case 2005
  245.    if blue(col)<47 then
  246.     blue(col)=blue(col)+16
  247.    else
  248.     blue(col)=63
  249.    end if
  250.    call Farbe
  251.   case 202
  252.    if green(col)>0 then
  253.     green(col)=green(col)-1
  254.     call Farbe
  255.    end if
  256.   case 203
  257.    if green(col)<63 then
  258.     green(col)=green(col)+1
  259.     call Farbe
  260.    end if
  261.  case 204
  262.    if blue(col)>0 then
  263.     blue(col)=blue(col)-1
  264.     call Farbe
  265.    end if
  266.   case 205
  267.    if blue(col)<63 then
  268.     blue(col)=blue(col)+1
  269.     call Farbe
  270.    end if
  271.   case 206
  272.    call FarbenReset
  273.   case 4700
  274.    if gad.selected(gad.id)=0 then
  275.     signalton=0
  276.     sound 1000,2
  277.    else
  278.     signalton=1
  279.    end if
  280.   case else
  281.    if gad.num>=100 and gad.num<=115 then
  282.     call MouseOff
  283.     if col<8 then
  284.      call DrawPBorder(5,6+(col*2),20,1,"")
  285.     else
  286.      call DrawPBorder(55,6+((col-8)*2),20,1,"")
  287.     end if
  288.     col=gad.num-100
  289.     if col<8 then
  290.      call DrawNBorder(5,6+(col*2),20,1,"")
  291.     else
  292.      call DrawNBorder(55,6+((col-8)*2),20,1,"")
  293.     end if
  294.     call FarbenAusgabe
  295.     call MouseOn
  296.    end if
  297.  end select
  298.  
  299.  gad.num=-1
  300. wend
  301. call MouseOff
  302. end
  303.  
  304. sub Set shared
  305.  reg %ax,&H1a
  306.  reg %bx,mouse.h
  307.  reg %cx,mouse.v
  308.  reg %dx,mouse.s
  309.  call interrupt &H33
  310.  call MouseOff
  311.  call MausAusgabe
  312.  call MouseOn
  313. end sub
  314.  
  315. sub MausAusgabe shared
  316.  color 15
  317.  locate 12,44
  318.  print mouse.h;"Mickeys = 8 Pixel     "
  319.  locate 14,44
  320.  print mouse.v;"Mickeys = 8 Pixel     "
  321.  locate 18,44
  322.  print mouse.s;"Mickeys pro Sekunde     "
  323. end sub
  324.  
  325. sub FarbenAusgabe shared
  326.  color 15
  327.  locate 8,36
  328.  print "Rot  ";red(col);" "
  329.  locate 14,36
  330.  print "Grn ";green(col);" "
  331.  locate 20,36
  332.  print "Blau ";blue(col);" "
  333. end sub
  334.  
  335. sub Farbe shared
  336.  reg %ax,&H10*256+&H10
  337.  reg %bx,col
  338.  reg %cx,green(col)*256+blue(col)
  339.  reg %dx,red(col)*256
  340.  call interrupt &H10
  341.  
  342.  call MouseOff
  343.  call FarbenAusgabe
  344.  call MouseOn
  345. end sub
  346.  
  347. sub FarbenReset shared
  348.  call MouseOff
  349.  for i=0 to 15
  350.   red(i)=ored(i)
  351.   green(i)=ogreen(i)
  352.   blue(i)=oblue(i)
  353.   reg %ax,&H10*256+&H10
  354.   reg %bx,i
  355.   reg %cx,green(i)*256+blue(i)
  356.   reg %dx,red(i)*256
  357.   call interrupt &H10
  358.  next
  359.  call FarbenAusgabe
  360.  call MouseOn
  361. end sub
  362.  
  363. sub MausReset shared
  364.  mouse.s=50
  365.  mouse.h=50
  366.  mouse.v=50
  367.  call Set
  368. end sub
  369.  
  370. sub FarbenLaden shared
  371.  9 error 0
  372. 10 open "farben.dat" for input as #1
  373.  if erl=10 then
  374.   call Bell
  375.   exit sub
  376.  end if
  377.  for i=0 to 15
  378.   ored(i)=asc(input$(1,1))
  379.   ogreen(i)=asc(input$(1,1))
  380.   oblue(i)=asc(input$(1,1))
  381.  next
  382.  close #1
  383.  call FarbenReset
  384. end sub
  385.  
  386. sub FarbenSichern shared
  387. 19 error 0
  388. 20 open "farben.dat" for output as #1
  389.  if erl=20 then
  390.   call Bell
  391.   exit sub
  392.  end if
  393.  for i=0 to 15
  394.   print #1,chr$(red(i));chr$(green(i));chr$(blue(i));
  395.  next
  396.  close #1
  397. end sub
  398.  
  399. sub MausLaden shared
  400. 29 error 0
  401. 30 open "maus.dat" for input as #1
  402.  if erl=30 then
  403.   call Bell
  404.   exit sub
  405.  end if
  406.  mouse.h=cvi(input$(2,1))
  407.  mouse.v=cvi(input$(2,1))
  408.  mouse.s=cvi(input$(2,1))
  409.  close #1
  410.  call Set
  411. end sub
  412.  
  413. sub MausSichern shared
  414. 139 error 0
  415. 140 open "maus.dat" for output as #1
  416.  if erl=140 then
  417.   call Bell
  418.   exit sub
  419.  end if
  420.  print #1,mki$(mouse.h);mki$(mouse.v);mki$(mouse.s);
  421.  close #1
  422. end sub
  423.  
  424. sub STLaden shared
  425. 129 error 0
  426. 130 open "signalton.dat" for input as #1
  427.  if erl=130 then
  428.   call Bell
  429.   exit sub
  430.  end if
  431.  signalton=asc(input$(1,1))
  432.  close #1
  433. end sub
  434.  
  435. sub STSichern shared
  436. 39 error 0
  437. 40 open "signalton.dat" for output as #1
  438.  if erl=40 then
  439.   call Bell
  440.   signalton=0
  441.   exit sub
  442.  end if
  443.  print #1,chr$(signalton);
  444.  close #1
  445. end sub
  446.  
  447.